home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_oth / m2cmp20 / keyboard.def < prev    next >
Text File  |  1988-11-19  |  3KB  |  159 lines

  1. DEFINITION MODULE Keyboard;
  2.  
  3. (* (C) Copyright 1987,1988 Fitted Software Tools. All rights reserved. *)
  4.  
  5.  
  6. (* This module provides an interface to the BIOS keyboard routines.
  7. *)
  8.  
  9. CONST
  10.       Break = 80X;
  11.       ShiftTab = 81X;
  12.       AltQ = 82X;
  13.       AltW = 83X;
  14.       AltE = 84X;
  15.       AltR = 85X;
  16.       AltT = 86X;
  17.       AltY = 87X;
  18.       AltU = 88X;
  19.       AltI = 89X;
  20.       AltO = 8AX;
  21.       AltP = 8BX;
  22.  
  23.       AltA = 90X;
  24.       AltS = 91X;
  25.       AltD = 92X;
  26.       AltF = 93X;
  27.       AltG = 94X;
  28.       AltH = 95X;
  29.       AltJ = 96X;
  30.       AltK = 97X;
  31.       AltL = 98X;
  32.  
  33.       AltZ = 09EX;
  34.       AltX = 09FX;
  35.       AltC = 0A0X;
  36.       AltV = 0A1X;
  37.       AltB = 0A2X;
  38.       AltN = 0A3X;
  39.       AltM = 0A4X;
  40.  
  41.       F1 = 0ADX;
  42.       F2 = 0AEX;
  43.       F3 = 0AFX;
  44.       F4 = 0B0X;
  45.       F5 = 0B1X;
  46.       F6 = 0B2X;
  47.       F7 = 0B3X;
  48.       F8 = 0B4X;
  49.       F9 = 0B5X;
  50.       F10 = 0B6X;
  51.  
  52.       Home = 0B9X;
  53.       Up = 0BAX;
  54.       PgUp = 0BBX;
  55.       Left = 0BDX;
  56.       Right = 0BFX;
  57.       End = 0C1X;
  58.       Down = 0C2X;
  59.       PgDn = 0C3X;
  60.       Ins = 0C4X;
  61.       Del = 0C5X;
  62.  
  63.       SF1 = 0C6X;
  64.       SF2 = 0C7X;
  65.       SF3 = 0C8X;
  66.       SF4 = 0C9X;
  67.       SF5 = 0CAX;
  68.       SF6 = 0CBX;
  69.       SF7 = 0CCX;
  70.       SF8 = 0CDX;
  71.       SF9 = 0CEX;
  72.       SF10 = 0CFX;
  73.       CF1 = 0D0X;
  74.       CF2 = 0D1X;
  75.       CF3 = 0D2X;
  76.       CF4 = 0D3X;
  77.       CF5 = 0D4X;
  78.       CF6 = 0D5X;
  79.       CF7 = 0D6X;
  80.       CF8 = 0D7X;
  81.       CF9 = 0D8X;
  82.       CF10 = 0D9X;
  83.       AF1 = 0DAX;
  84.       AF2 = 0DBX;
  85.       AF3 = 0DCX;
  86.       AF4 = 0DDX;
  87.       AF5 = 0DEX;
  88.       AF6 = 0DFX;
  89.       AF7 = 0E0X;
  90.       AF8 = 0E1X;
  91.       AF9 = 0E2X;
  92.       AF10 = 0E3X;
  93.  
  94.       CtrlPrtSc = 0E4X;
  95.       CtrlLeft = 0E5X;
  96.       CtrlRight = 0E6X;
  97.       CtrlEnd = 0E7X;
  98.       CtrlPgDn = 0E8X;
  99.       CtrlHome = 0E9X;
  100.  
  101.       Alt1 = 0EAX;
  102.       Alt2 = 0EBX;
  103.       Alt3 = 0ECX;
  104.       Alt4 = 0EDX;
  105.       Alt5 = 0EEX;
  106.       Alt6 = 0EFX;
  107.       Alt7 = 0F0X;
  108.       Alt8 = 0F1X;
  109.       Alt9 = 0F2X;
  110.       Alt0 = 0F3X;
  111.       AltMinus  = 0F4X;
  112.       AltEquals = 0F5X;
  113.  
  114.       CtrlPgUp = 0F6X;
  115.  
  116.  
  117. TYPE ShiftKeys   = (rightShift, leftShift, Ctrl, Alt, ScrollLock, NumLock );
  118.      ShiftStatus = SET OF ShiftKeys;
  119.  
  120.  
  121. PROCEDURE KeyPressed() :BOOLEAN;
  122.   (*
  123.     Is there a character waiting?
  124.   *)
  125.  
  126. PROCEDURE GetKey( VAR k :CHAR );
  127.   (*
  128.     Like BASIC INKEY.
  129.     Returns either a character or a 0C and the extended character code
  130.     on the next call.
  131.   *)
  132.  
  133. PROCEDURE GetKeyCh( VAR ch :CHAR );
  134.   (*
  135.     Extended character codes are remapped into the upper 128 ascii codes
  136.     as by the constants declared above.
  137.   *)
  138.  
  139. PROCEDURE GetFunKey( VAR ch :CARDINAL );
  140.   (*
  141.     This call added to support international character sets that use the
  142.     upper bit of a CHAR.
  143.  
  144.     The ordinal value of regular characters is returned.
  145.  
  146.     Extended character codes are remapped into the upper 128 ascii codes
  147.     as by the constants declared above but, then, 100H is added to the
  148.     result.
  149.  
  150.     For Example, F1 would be returned as 01ADH
  151.   *)
  152.  
  153. PROCEDURE GetShiftStatus( VAR st :ShiftStatus );
  154.   (*
  155.     Gets the status of shift/control keys.
  156.   *)
  157.  
  158.  
  159. END Keyboard.